export default {
	successCode: 200, // 请求完成代码
	pageSize: 20, // 表格每页条数
	pageSizes: [10, 20, 30, 40, 50], // 表格可设置的每页条数
	paginationLayout: 'total, sizes, prev, pager, next, jumper', // 分页布局
	parseData: (res: any) => {
		// 数据解析
		return {
			data: res.data, // 无分页的数据结构
			rows: res.data.rows, // 行数据结构
			total: res.data.total, // 总数字段结构
			summary: res.data.summary, // 合计行字段结构
			msg: res.message, // 消息描述字段
			code: res.code // 状态码字段
		}
	},
	request: {
		// 请求字段定义
		page: 'page', // 当前分页字段
		pageSize: 'pageSize', // 每页条数字段
		prop: 'prop', // 排序字段名
		order: 'order' // 排序方式字段
	},
	/**
	 * 自定义列保存处理
	 * @param tableName scTable组件的props->tableName
	 * @param column 用户自定义列
	 */
	columnSettingSave: (tableName: string, column: any) => {
		return new Promise((resolve) => {
			setTimeout(() => {
				// 示例：使用 session 存储
				tool.session.set(tableName, column)
				resolve(true)
			}, 1000)
		})
	},
	/**
	 * 获取自定义列
	 * @param tableName scTable组件的props->tableName
	 * @param column 组件接受的props->column
	 */
	columnSettingGet: (tableName: string, column: any) => {
		return new Promise((resolve) => {
			const userColumn = tool.session.get(tableName)
			if (userColumn) {
				resolve(userColumn)
			} else {
				resolve(column)
			}
		})
	},
	/**
	 * 重置自定义列
	 * @param tableName scTable组件的props->tableName
	 * @param column 组件接受的props->column
	 */
	columnSettingReset: (tableName: string, column: any) => {
		return new Promise((resolve) => {
			setTimeout(() => {
				tool.session.remove(tableName)
				resolve(column)
			}, 1000)
		})
	}
}
